<?
$login = false;
$admin = false;
$login = $_COOKIE["logado"];
$admin = $_COOKIE["admin"];
$getResultado = $_GET["resultado"];

if(isset($_GET['login'])) LoginLogoff("in");

if(isset($_GET['logoff'])) LoginLogoff("off");

if(isset($_POST['upload'])) upload($_FILES);

if (isset($_GET['download'])) downloadfile($_GET['download']);

if (isset($_GET['delete'])) deletefile($_GET['delete']);

function banco_de_dados($parametro, $credenciais){
	//$parametro = $parametro;
    
	$credenciais = explode(":", $credenciais);
        $nome = $credenciais[0];
        $senha = $credenciais[1];
        
	if(is_array($parametro)){
		$array_insere = $parametro;
		$parametro = (int) 2;
	}

	if(is_string($parametro)){
	    $explode_str = explode(":",$parametro);
	    if ($explode_str[0] == "delete"){
			$remova = $explode_str[1];
			$parametro =  (int) 4;
	    }
		else if($explode_str[0] == "id"){
			$id = $explode_str[1];
			$parametro = (int) 8;
		}
		else if($explode_str[0] == "semestre"){
			$semestre = $explode_str[1];
			$parametro = (int) 9;
			$semestre = "WHERE semestre = $semestre";
		}
		else if($explode_str[0] == "disciplina"){
			$semestre = $explode_str[1];
			$parametro = (int) 9;
			$semestre = "WHERE sigla = \"$semestre\"";
		}
	    else{
			$string = $parametro;
			$parametro = (int) 3;
	    }
	}

	mysql_connect("localhost", "boavist_ifsp", "1234") or die ("Não foi possivel conectar");
	mysql_select_db("ifsp_velho") or die("Não foi possível selecionar base");
        
	$consulta[0] = "SELECT count(*), id, admin FROM usuarios WHERE nome = '$nome' and senha = $senha";
	$consulta[1] = "SELECT disciplina.sigla, disciplina.nome, usuarios.nome
			FROM disciplina
			INNER JOIN usuarios
			ON disciplina.professor=usuarios.id
			order by disciplina.semestre
			";
	$consulta[2] = "INSERT INTO `postagem` (`filename`, `dataPost`, `dataAula`, `disciplina`, `descricao`)
			VALUES ('$array_insere[0]', '$array_insere[1]', '$array_insere[2]', '$array_insere[3]', '$array_insere[4]')";

	$curso = $_GET["curso"];
	$disciplina = $_GET["disciplina"];

	if($disciplina){
		$where = "disciplina = \"$disciplina\" and";
	}

	$consulta[3] = "SELECT * FROM postagem WHERE $where filename IN ({$string}) order by dataPost desc, filename asc";
	$consulta[4] = "delete FROM postagem WHERE filename = '$remova'";
	$consulta[5] = "SELECT videos.id, videos.icone, videos.aulaNumero, videos.curso, videos.url, videos.descricao
			FROM videos
			INNER JOIN icone
			ON videos.icone=icone.id where curso = $curso
			";

	$consulta[6] = "SELECT * FROM curso";
	$consulta[7] = "SELECT * FROM usuarios WHERE nome = '$nome' and senha = $senha";
	$consulta[8] = "SELECT * FROM usuarios WHERE id = $id";
	$consulta[9] = "SELECT * FROM disciplina $semestre";

	switch ($parametro){
		case 0:
			@$query = mysql_query($consulta[$parametro]);
			@$query_row = mysql_fetch_array($query);
			@$return = $query_row;
			break;
		case 1:
			$query = mysql_query($consulta[$parametro]);
			while($query_row=mysql_fetch_array($query)){
				$return[] = $query_row;
			}
			break;
		case 2:
			@mysql_query($consulta[$parametro]);
			$return = "Dados foram inseridos no banco";
			break;
		case 3:
			$query = mysql_query($consulta[$parametro]);
			while($query_row=mysql_fetch_array($query)){
				$return[] = $query_row;
			}
			break;
		case 4:
			mysql_query($consulta[$parametro]) or die(mysql_error());
			$return = "O arquivo $remova foi excluido";
			break;
		case 5:
			$query = mysql_query($consulta[$parametro]);
			while($query_row=mysql_fetch_array($query)){
				$return[] = $query_row;
			}
			break;
		case 6:
			$query = mysql_query($consulta[$parametro]);
			while($query_row=mysql_fetch_array($query)){
				$return[] = $query_row;
			}
			break;
		case 7:
			$query = mysql_query($consulta[$parametro]);
			while($query_row=mysql_fetch_array($query)){
				$finale[] = $query_row;
			}
			@$return = $finale[0]["id"];
			break;
		case 8:
			$query = mysql_query($consulta[$parametro]);
			while($query_row=mysql_fetch_array($query)){
				$finale[] = $query_row;
			}
			@$return = $finale;
			break;
		case 9:
			$query = mysql_query($consulta[$parametro]);
			while($query_row=mysql_fetch_array($query)){
				$finale[] = $query_row;
			}
			@$return = $finale;
			break;
	}

	return ($return);
	@mysql_close();
}

function bemvindo(){
	echo "<h1>Bem vindos, Titãs</h1>";
	echo "<p>";
	include ("novidades.txt");
	echo "</p>";
}

function deletefile($cell){
	
	global $login, $admin;
	if(!$login && !$admin) return;
	
	else{
		$disciplina = $_GET["disciplina"];
		$storage_dir = '../2011/arquivos/'.$disciplina;
		$cell=strip_tags($cell);
		$file=substr($cell,0,strlen($cell));
		$file = "$storage_dir/".basename($file);
		$remova = "delete:$cell";

		if (!file_exists(utf8_decode($file)))
		$resultado = "Error: file not found. ($file)";
		else {
			$resultado = @unlink(utf8_decode($file));
			if ($resultado) {
				$resultado = banco_de_dados($remova);
			}
			else {
				$resultado = "Error: can't delete file.";
			}
		}
	$reload = "?disciplina=".$disciplina."&resultado=".$resultado;
	reload($reload);
	}
}

function downloadfile($file){
	global $login;
	if (!$login) return;
	$storage_dir = '../2011/arquivos/'.$_GET["disciplina"];
	$file = "$storage_dir/".basename($file);
	
	if (!is_file($file)) { return; }
	header("Content-Type: application/octet-stream");
	header("Content-Size: ".filesize($file));
	header("Content-Disposition: attachment; filename=\"".basename($file)."\"");
	header("Content-Length: ".filesize($file));
	header("Content-transfer-encoding: binary");
	@readfile($file);
	exit(0);
}

function extname($file) {
	$file = explode(".",basename($file));
	return $file[count($file)-1];
}

function getfilesize($size) {
	if ($size < 20) return "$size byte";
	$units = array(' bytes', ' KiB', ' MiB', ' GiB', ' TiB');
	for ($i = 0; $size > 1024; $i++) { $size /= 1024; }
	return round($size, 2).$units[$i];
}

function LoginLogoff($var){
   	if ($var == "in") {
		if($login) return;

		else if(!isset($_POST['nome']) || !isset($_POST['senha'])) return;

		else {//Fazendo login (Entrando...)
                    $endereco = $_POST['endereco'];
                    $nome = @$_POST['nome'];
                    $senha = @$_POST['senha'];
                    $credenciais = $nome.":".$senha;
                    $result = banco_de_dados(0, $credenciais);
                    
                    if(!$result) return;
                    
                    setcookie("logado", true);
                    setcookie("user", $result[1]);
                    setcookie("admin", $result[2]);
                    reload("../..$endereco");
		}
	}
	else if ($var == "off") {
		//Fazendo logoff (Saindo...)
                setcookie("logado", false);
                setcookie("user", false);
                setcookie("admin", false);
                reload("");
	}

}

function loginPanel($login) {
	if($login) return;
	$endereco = $_SERVER ['REQUEST_URI'];
	echo '
        <form name="formulario" id="loginform" class="rounded" method="post" action="./?login">
            <h4>Painel de Login.</h4>

            <div class="field">
                <label for="email">Login:</label>
                <input type="text" class="login_textbox" name="nome" id="name"/>
                <p class="hint">Digite seu login.</p>
            </div>
            <br />
            <div class="field">
                <label for="email">Senha:</label>
                <input class="login_textbox" type="password" name="senha" id="pass"/>
                <p class="hint">Digite sua senha.</p>
            </div>
            <div class="button_area">
                <input type="hidden" id="endereco" name="endereco" value="'.$endereco.'"/>
                <input type="submit" id="Ok" class="loginbutton" value="Ok" />
            </div>
        </form>
             ';
}

function notifica($getResultado){
        if (!$getResultado) return;
        echo '<div style="display: none;" id="notifica"  class="magic_panel">';
        echo '<small>';
        echo '<a style="float: right;" href="javascript: fechar();">[X]</a>';
        echo '</small>';
        echo '<br />';
        echo $getResultado;
        echo '<br />';       
        echo '</div>';
}

function navigation_bar(){
	global $login, $admin;

	if(!$login) {
		echo "<ul id=\"menu_dropdown\" class=\"menubar\">";
		echo "<li class=\"submenu\"><a href=\"#loginPanel\" class=\"fancybox\">Login</a></li>";
		echo "</ul>";
		return;
	}
	
	else {
		echo "<ul id=\"menu_dropdown\" class=\"menubar\">";
		
 		for($a = 1; $a <= 5; $a ++){
			$nav = banco_de_dados("semestre:$a");
			echo '<li class="submenu"><a href="./?semestre='.$a.'">'.$a.'º Semestre</a>';
				echo '<ul class="menu">';
				  for($b = 0; $b <= sizeof($nav); $b ++){
					echo '<li><a href=".?disciplina='.$nav[$b][0].'">'.utf8_encode($nav[$b][1]).'</a></li>';
				  }
				echo '</ul>';
			echo '</li>';
		}
		
		if ($admin) echo "<li class=\"submenu\"><a href=\"#uploadform\" class=\"fancybox\">Enviar arquivo</a></li>";
		if ($login) echo "<li class=\"submenu\"><a href=\".?logoff\" style=\"float: right; padding-top: 5px;\">Logoff</a></li>";
		
		echo "</ul>";
	}
}

function reload($entrada){
	$resultado = "./$entrada";
	$resultado = str_replace("?&", "&", $resultado);
	$resultado = str_replace("/&", "?", $resultado);
	
	echo '
		<script type="text/javascript">
		<!--
		window.location = "'.$resultado.'"
		//-->
		</script>
	';
}

function RemoveAcentos($str){
$str = $str;
$acentos = array(
        'A' => '/&Agrave;|&Aacute;|&Acirc;|&Atilde;|&Auml;|&Aring;/',
        'a' => '/&agrave;|&aacute;|&acirc;|&atilde;|&auml;|&aring;/',
        'C' => '/&Ccedil;/',
        'c' => '/&ccedil;/',
        'E' => '/&Egrave;|&Eacute;|&Ecirc;|&Euml;/',
        'e' => '/&egrave;|&eacute;|&ecirc;|&euml;/',
        'I' => '/&Igrave;|&Iacute;|&Icirc;|&Iuml;/',
        'i' => '/&igrave;|&iacute;|&icirc;|&iuml;/',
        'N' => '/&Ntilde;/',
        'n' => '/&ntilde;/',
        'O' => '/&Ograve;|&Oacute;|&Ocirc;|&Otilde;|&Ouml;/',
        'o' => '/&ograve;|&oacute;|&ocirc;|&otilde;|&ouml;/',
        'U' => '/&Ugrave;|&Uacute;|&Ucirc;|&Uuml;/',
        'u' => '/&ugrave;|&uacute;|&ucirc;|&uuml;/',
        'Y' => '/&Yacute;/',
        'y' => '/&yacute;|&yuml;/',
        'a.' => '/&ordf;/',
        'o.' => '/&ordm;/'
);

        return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
 }

function return_bytes($val) {
	$val = trim($val);
	$last = strtolower($val{strlen($val)-1});
	switch($last) {
		// The 'G' modifier is available since PHP 5.1.0
		case 'g':
		$val *= 1024;
		case 'm':
		$val *= 1024;
		case 'k':
		$val *= 1024;
	}
	return $val;
}

function sendmail($entrada){
	$file = explode("/", $entrada);

	mail("sistemas_web@googlegroups.com",utf8_decode("[IFSP] - Novo arquivo"),utf8_decode("
Galera. Existe um novo arquivo no nosso site:
Disciplina: $file[1]
Arquivo:	$file[2]
Confiram!
	"),"FROM:Contato<contato@boavistainfo.com.br>");

}

function showFiles($login){
      global $login, $admin;
      if(!$login) return;
	  
	if(!$_GET["disciplina"]){
		bemvindo();
		return;
	}
	$dir = $_GET["disciplina"];
	$nome_disciplina = "disciplina:$dir";
	$dir = "../2011/arquivos/$dir/";

	if ($handle = opendir($dir)) {
		while ($file = readdir($handle)) {
			$string["name"] .= '"'.$file.'",';
		}
	}
	closedir($handle);

	$string["name"] = substr($string["name"],0,-1);
	$mostrar = banco_de_dados($string["name"]);
	$coluna_remover = '';
	$nome_disciplina = banco_de_dados("$nome_disciplina");
	$nome_disciplina = utf8_encode($nome_disciplina[0][1]);
	
	if($admin) $coluna_remover = '<th id="th4" class="unsortable">Remover</th>';
		echo '
		<tr>
			<th id="th1" class="lefted">'.$nome_disciplina.'</th>
			<th id="th2">Copiar</th>
			<th id="th3">Tamanho</th>
			'.$coluna_remover.'
		</tr>
		';

	if($mostrar){
	foreach ($mostrar as $linha){
		if ($handle = opendir($dir)) {
			while ($file = readdir($handle)) {
				if($file == $linha["filename"]){
					$string["size"] = filesize($dir."/".$file);
					$file_ue = urlencode($file);
				}
			}
		}
		closedir($handle);
		$data_data = null;
		$data_data = !$linha["dataAula"]? $linha["dataAula"]: $linha["dataPost"];
		
		print(
"<tr class=\"off\" onmouseover=\"if (this.className!='delete') {this.className='on'};\" onmouseout=\"if (this.className!='delete') {this.className='off'};\">");



		echo "
	<td class=\"lefted\">
	$file_ue
	<p class=\"descricao\">
	";
		if(utf8_encode($linha["descricao"]) != "") {
		  if($data_data){
		  $descricao = substr($data_data,2,2)."/".substr($data_data,0,2)."/".substr($data_data,4,4)." - ";
		  }
		  $descricao = $descricao.utf8_encode($linha["descricao"]);
		  echo $descricao;
		} else {
		  echo "<cite style=\"color:#f00\">Carece de descrição. Clique para editar (Admin)</cite>";
		}
		echo "
	</td>
		";

		echo"
	<td>
	<a href=\"?disciplina=".$_GET["disciplina"]."&download=$file_ue\">
	<img src=\"images/download_arrow.png\" alt=\"(download)\" title=\"Copiar\" />
	</a>
	</td>
		";

		print("<td>".getfilesize($string['size'])."</td>");

		if ($admin) {
			print(
"<td><a title=\"delete\" onclick=\"deletefile(this.parentNode.parentNode); return false;\" href=\"?disciplina=".$_GET["disciplina"]."&delete=$file_ue\">");
			print(
"<img src=\"images/delete.gif\" alt=\"delete\" title=\"Apagar\" /></a></td>");
		}
		print("</tr>\n");

	}
	}
}

function upload($_FILES){
	global $login, $admin;
	if(!$login && !$admin) return;
	
	$arquivo = $_FILES;
	$destino = $_POST["disciplina"];
	$destino = substr($destino,0,3);
	$destino = "../2011/arquivos/$destino/";
	$endereco = $_POST["endereco"];
	if(!$arquivo){
		$resultado = 'Nenhum arquivo enviado!';
	}else{
		$dataPost = date("mdY");
		$parametro[1] = $dataPost;//-------------------------------------//1 - Data Postagem
		$dataAula = explode("/",$_POST['dataaula']);
		$dataAula = $dataAula[1].$dataAula[0].$dataAula[2];
		if($dataAula && $dataAula != $dataPost) {//----------------------//2 - Data Aula
		  $parametro[2] = $dataAula;
		}else{
		  $parametro[2] = $dataPost;
		}

		$disciplina = $_POST['disciplina'];//----------------------------//3 - Disciplina
		$disciplina = explode(" - ", $disciplina);
		$disciplina = $disciplina[0];
		$parametro[3] = $disciplina;

		$descricao = utf8_decode($_POST['descricao']);//-----------------//4 - Descrição
		$parametro[4] = $descricao;

		$file_name = $arquivo['file']['name'];
		$file_name = explode(".",$file_name);
		
		$nomeArquivo = $_POST['nomearquivo'];
		if($nomeArquivo == "") $nomeArquivo = $file_name[0];
		$nomeArquivo = utf8_decode($nomeArquivo);

		$nomeArquivo = ucwords(strtolower($nomeArquivo));
		$nomeArquivo = RemoveAcentos($nomeArquivo);
		$nomeArquivo = substr(str_replace(" ","",$nomeArquivo),0,20);

		$file_name = $file_name[sizeof($file_name)-1];
		$file_name = "$nomeArquivo.$file_name";
		$parametro[0] = $file_name;//------------------------------------//0 - Nome do Arquivo

		$file_type = $arquivo['file']['type'];
		$file_size = $arquivo['file']['size'];
		$file_tmp_name = $arquivo['file']['tmp_name'];
		$error = $arquivo['file']['error'];
	}

	switch ($error){
		case 0:
			break;
		case 1:
			$resultado = 'O tamanho do arquivo é maior que o definido nas configurações do PHP!';
			break;
		case 2:
			$resultado = 'O tamanho do arquivo é maior do que o permitido!';
			break;
		case 3:
			$resultado = 'O upload não foi concluído!';
			break;
		case 4:
			$resultado = 'O upload não foi feito!';
			break;
	}

	if($error == 0){
		if(!is_uploaded_file($file_tmp_name)){
			$resultado = 'Erro ao processar arquivo!';
		}else{
			if (!file_exists($destino."/".$file_name)){
				if(!move_uploaded_file($file_tmp_name,$destino."/".$file_name)){
					$resultado = $destino.'Não foi possível salvar o arquivo!';
				}else{
					$resultado = '<b> Sucesso!!! </b><br>';
					$resultado .= 'Envio efetuado com exito.<br>';
					$resultado .= "Nome do arquivo: $file_name<br>";
					$resultado .= "Tipo de arquivo: $file_type<br>";
					$resultado .= "Tamanho em byte: $file_size<br>";
					$resultado .= banco_de_dados($parametro);
					$email = $destino.$file_name;
					sendmail($email);
					reload("../..$endereco?&resultado=$resultado");
				}
			} else {
				$resultado = "<b> Erro! </b><br>o arquivo já existe<br>";
			}
		}
	}
	reload("../..$endereco?&resultado=$resultado");
}

function uploadform() {
	global $admin;
	$disc = $_GET["disciplina"];
	$endereco = $_SERVER ['REQUEST_URI'];
	if(!$admin) return;
	
	$lista = banco_de_dados(1);
	
	echo '<form enctype="multipart/form-data" action="" method="post">'."\n";
	echo '<label for="selection">Disciplina:</label>'."\n";
	echo '<select name="disciplina" class="login_textbox" style="width: 312px;">'."\n";
	for($linha = 0; $linha < sizeof($lista); $linha++){
		$selected = "";
		if ($lista[$linha][0] == $disc) $selected = 'selected="selected"';
		$option = '<option '.$selected.'>';
		for($coluna = 0; $coluna < sizeof($lista[$linha]); $coluna++){
			$option = $option.ucfirst(utf8_encode($lista[$linha][$coluna]))." - ";
		}
		$option = substr($option,0,(sizeof($option) - 10));
		echo $option.'</option>'."\n";
	}
	echo '	</select><br /><br />'.PHP_EOL.'
		
		<label for="file">Descrição:</label>'."\n".'
		<input type="text" class="login_textbox" name="descricao"><br /><br />'."\n".'
		<input type="hidden" id="endereco" name="endereco" value="'.$endereco.'"/>
		<label for="file">Data:</label>'."\n".'
		<input type="text" class="login_textbox" value="'.date("d/m/Y").'" name="dataaula" onKeyPress="valida(this)"><br /><br />'.PHP_EOL.'
		<label for="file">Arquivo:</label>'."\n".'
		<input id="file" class="login_textbox" name="file" type="file"/><br /><br />'.PHP_EOL.'
		<input style="float: right; margin-right: 95px;" type="submit" name="upload" value="Enviar" />'."\n".'
                
		</form>
	';
}

function video_list(){
    if(!$_GET["curso"] && !$_GET["video"]){
	$videos = banco_de_dados(6);

	echo "<h2>Selecione o curso que pretende assistir</h2>";
	echo "<ol id='ulvideos'>";
	for($linha = 0; $linha < sizeof($videos); $linha++){
	  echo "<li><a href=\"videos.php?curso=".$videos[$linha][0]."\">"
	  .ucfirst(utf8_encode($videos[$linha][1]))."</a></li>\n";
	}
	echo "</ol>";

    }
    else {
	$videos = banco_de_dados(5);

	$video_embed = $_GET["video"];
	if(!$video_embed) $pos = 0;
	else $pos = $video_embed - 1;	
	$video_embed = $videos[$pos]["url"];

	echo '<td width="335"><div style="font-size:small;padding:3px;background:#fff scroll left
	top;overflow:auto;color:blue;position:relative;height:450px;text-shadow:#fff -1px -1px 1px;opacity: 0.5;filter:
	alpha(opacity=50);-ms-filter:\'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)\';"><ul>';

	foreach ($videos as $linha){
	  echo '<li><a href="videos.php?curso='.$linha["curso"].'&video='.$linha["aulaNumero"].'" >'
	  .utf8_encode($linha["descricao"]).'</a></li>'."\n";
	  }

	echo "</ul></div></td>";

	echo '<td valign="top">
	      <h2 style="text-align: center; margin-top: 20px; height: 15px; font-size: 0.8em; background-color: #bfb;
	      padding: 4px;border: 1px #fff solid; color: #333;font-weight: bold;">';
	echo utf8_encode($videos[$pos]["descricao"])."</h2><br />";
	echo '<embed src="http://www.youtube.com/v/'.$video_embed.
	'&autoplay=1&rel=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></td>';
    }
}

?>
